/*
               File: PrcTodasMensalidades
        Description: Prc Todas Mensalidades
             Author: GeneXus C# Generator version 10_2_5-78484
       Generated on: 6/6/2014 9:52:44.44
       Program type: Callable routine
          Main DBMS: sqlserver
*/
using System;
using System.Collections;
using GeneXus.Utils;
using GeneXus.Resources;
using GeneXus.Application;
using GeneXus.Metadata;
using System.Data;
using System.Data.SqlClient;
using GeneXus.Data;
using com.genexus;
using GeneXus.Data.ADO;
using GeneXus.Data.NTier;
using GeneXus.Data.NTier.ADO;
using System.Runtime.Remoting;
using GeneXus.WebControls;
using GeneXus.Http;
using GeneXus.Procedure;
using GeneXus.XML;
using GeneXus.Search;
using GeneXus.Encryption;
using GeneXus.Http.Client;
using System.Threading;
using System.Xml.Serialization;
using System.Data.SqlTypes;
using System.ServiceModel;
using System.Runtime.Serialization;
namespace GeneXus.Programs {
   public class prctodasmensalidades : GXProcedure
   {
      public prctodasmensalidades( )
      {
         context = new GxContext(  );
         DataStoreUtil.LoadDataStores( context);
         dsDefault = context.GetDataStore("Default");
         IsMain = true;
         context.SetDefaultTheme("GeneXusXEv2");
      }

      public prctodasmensalidades( IGxContext context )
      {
         this.context = context;
         IsMain = false;
         dsDefault = context.GetDataStore("Default");
      }

      public void release( )
      {
      }

      public void execute( ref IGxCollection aP0_SDTTodasMensalidades )
      {
         this.AV8SDTTodasMensalidades = aP0_SDTTodasMensalidades;
         initialize();
         executePrivate();
         aP0_SDTTodasMensalidades=this.AV8SDTTodasMensalidades;
      }

      public IGxCollection executeUdp( )
      {
         this.AV8SDTTodasMensalidades = aP0_SDTTodasMensalidades;
         initialize();
         executePrivate();
         aP0_SDTTodasMensalidades=this.AV8SDTTodasMensalidades;
         return AV8SDTTodasMensalidades ;
      }

      public void executeSubmit( ref IGxCollection aP0_SDTTodasMensalidades )
      {
         prctodasmensalidades objprctodasmensalidades;
         objprctodasmensalidades = new prctodasmensalidades();
         objprctodasmensalidades.AV8SDTTodasMensalidades = aP0_SDTTodasMensalidades;
         objprctodasmensalidades.context.SetSubmitInitialConfig(context);
         objprctodasmensalidades.initialize();
         ThreadPool.QueueUserWorkItem( new WaitCallback( executePrivateCatch ),objprctodasmensalidades);
         aP0_SDTTodasMensalidades=this.AV8SDTTodasMensalidades;
      }

      void executePrivateCatch( object stateInfo )
      {
         try
         {
            ((prctodasmensalidades)stateInfo).executePrivate();
         }
         catch ( Exception e )
         {
            GXUtil.SaveToEventLog( "Design", e);
            throw e ;
         }
      }

      void executePrivate( )
      {
         /* GeneXus formulas */
         /* Output device settings */
         /* Using cursor P000J2 */
         pr_default.execute(0);
         while ( (pr_default.getStatus(0) != 101) )
         {
            A2UserNome = P000J2_A2UserNome[0];
            A43UserId = P000J2_A43UserId[0];
            AV10UserId = A43UserId;
            AV9SDTTodasMensalidadesItem = new SdtSDTTodasMensalidades_SDTTodasMensalidadesItem(context);
            AV11Ano = (short)(DateTimeUtil.Year( Gx_date));
            AV9SDTTodasMensalidadesItem.gxTpr_Userid = A43UserId;
            AV9SDTTodasMensalidadesItem.gxTpr_Usernome = A2UserNome;
            /* Execute user subroutine: S1122 */
            S1122 ();
            if ( returnInSub )
            {
               pr_default.close(0);
               this.cleanup();
               if (true) return;
            }
            /* Execute user subroutine: S1233 */
            S1233 ();
            if ( returnInSub )
            {
               pr_default.close(0);
               this.cleanup();
               if (true) return;
            }
            /* Execute user subroutine: S1344 */
            S1344 ();
            if ( returnInSub )
            {
               pr_default.close(0);
               this.cleanup();
               if (true) return;
            }
            /* Execute user subroutine: S1455 */
            S1455 ();
            if ( returnInSub )
            {
               pr_default.close(0);
               this.cleanup();
               if (true) return;
            }
            /* Execute user subroutine: S1566 */
            S1566 ();
            if ( returnInSub )
            {
               pr_default.close(0);
               this.cleanup();
               if (true) return;
            }
            /* Execute user subroutine: S1677 */
            S1677 ();
            if ( returnInSub )
            {
               pr_default.close(0);
               this.cleanup();
               if (true) return;
            }
            /* Execute user subroutine: S1788 */
            S1788 ();
            if ( returnInSub )
            {
               pr_default.close(0);
               this.cleanup();
               if (true) return;
            }
            /* Execute user subroutine: S1899 */
            S1899 ();
            if ( returnInSub )
            {
               pr_default.close(0);
               this.cleanup();
               if (true) return;
            }
            /* Execute user subroutine: S19110 */
            S19110 ();
            if ( returnInSub )
            {
               pr_default.close(0);
               this.cleanup();
               if (true) return;
            }
            /* Execute user subroutine: S20121 */
            S20121 ();
            if ( returnInSub )
            {
               pr_default.close(0);
               this.cleanup();
               if (true) return;
            }
            /* Execute user subroutine: S21132 */
            S21132 ();
            if ( returnInSub )
            {
               pr_default.close(0);
               this.cleanup();
               if (true) return;
            }
            /* Execute user subroutine: S22143 */
            S22143 ();
            if ( returnInSub )
            {
               pr_default.close(0);
               this.cleanup();
               if (true) return;
            }
            AV8SDTTodasMensalidades.Add(AV9SDTTodasMensalidadesItem, 0);
            pr_default.readNext(0);
         }
         pr_default.close(0);
         this.cleanup();
      }

      protected void S1122( )
      {
         /* '01' Routine */
         AV16GXLvl23 = 0;
         /* Using cursor P000J3 */
         pr_default.execute(1, new Object[] {AV10UserId, AV11Ano});
         while ( (pr_default.getStatus(1) != 101) )
         {
            A43UserId = P000J3_A43UserId[0];
            A33MensalidadeData = P000J3_A33MensalidadeData[0];
            A32MensalidadeId = P000J3_A32MensalidadeId[0];
            AV16GXLvl23 = 1;
            AV9SDTTodasMensalidadesItem.gxTpr_Janeiro = true;
            pr_default.readNext(1);
         }
         pr_default.close(1);
         if ( AV16GXLvl23 == 0 )
         {
            AV9SDTTodasMensalidadesItem.gxTpr_Janeiro = false;
         }
      }

      protected void S1233( )
      {
         /* '02' Routine */
         AV17GXLvl34 = 0;
         /* Using cursor P000J4 */
         pr_default.execute(2, new Object[] {AV10UserId, AV11Ano});
         while ( (pr_default.getStatus(2) != 101) )
         {
            A43UserId = P000J4_A43UserId[0];
            A33MensalidadeData = P000J4_A33MensalidadeData[0];
            A32MensalidadeId = P000J4_A32MensalidadeId[0];
            AV17GXLvl34 = 1;
            AV9SDTTodasMensalidadesItem.gxTpr_Fevereiro = true;
            pr_default.readNext(2);
         }
         pr_default.close(2);
         if ( AV17GXLvl34 == 0 )
         {
            AV9SDTTodasMensalidadesItem.gxTpr_Fevereiro = false;
         }
      }

      protected void S1344( )
      {
         /* '03' Routine */
         AV18GXLvl45 = 0;
         /* Using cursor P000J5 */
         pr_default.execute(3, new Object[] {AV10UserId, AV11Ano});
         while ( (pr_default.getStatus(3) != 101) )
         {
            A43UserId = P000J5_A43UserId[0];
            A33MensalidadeData = P000J5_A33MensalidadeData[0];
            A32MensalidadeId = P000J5_A32MensalidadeId[0];
            AV18GXLvl45 = 1;
            AV9SDTTodasMensalidadesItem.gxTpr_Marco = true;
            pr_default.readNext(3);
         }
         pr_default.close(3);
         if ( AV18GXLvl45 == 0 )
         {
            AV9SDTTodasMensalidadesItem.gxTpr_Marco = false;
         }
      }

      protected void S1455( )
      {
         /* '04' Routine */
         AV19GXLvl56 = 0;
         /* Using cursor P000J6 */
         pr_default.execute(4, new Object[] {AV10UserId, AV11Ano});
         while ( (pr_default.getStatus(4) != 101) )
         {
            A43UserId = P000J6_A43UserId[0];
            A33MensalidadeData = P000J6_A33MensalidadeData[0];
            A32MensalidadeId = P000J6_A32MensalidadeId[0];
            AV19GXLvl56 = 1;
            AV9SDTTodasMensalidadesItem.gxTpr_Abril = true;
            pr_default.readNext(4);
         }
         pr_default.close(4);
         if ( AV19GXLvl56 == 0 )
         {
            AV9SDTTodasMensalidadesItem.gxTpr_Abril = false;
         }
      }

      protected void S1566( )
      {
         /* '05' Routine */
         AV20GXLvl67 = 0;
         /* Using cursor P000J7 */
         pr_default.execute(5, new Object[] {AV10UserId, AV11Ano});
         while ( (pr_default.getStatus(5) != 101) )
         {
            A43UserId = P000J7_A43UserId[0];
            A33MensalidadeData = P000J7_A33MensalidadeData[0];
            A32MensalidadeId = P000J7_A32MensalidadeId[0];
            AV20GXLvl67 = 1;
            AV9SDTTodasMensalidadesItem.gxTpr_Maio = true;
            pr_default.readNext(5);
         }
         pr_default.close(5);
         if ( AV20GXLvl67 == 0 )
         {
            AV9SDTTodasMensalidadesItem.gxTpr_Maio = false;
         }
      }

      protected void S1677( )
      {
         /* '06' Routine */
         AV21GXLvl78 = 0;
         /* Using cursor P000J8 */
         pr_default.execute(6, new Object[] {AV10UserId, AV11Ano});
         while ( (pr_default.getStatus(6) != 101) )
         {
            A43UserId = P000J8_A43UserId[0];
            A33MensalidadeData = P000J8_A33MensalidadeData[0];
            A32MensalidadeId = P000J8_A32MensalidadeId[0];
            AV21GXLvl78 = 1;
            AV9SDTTodasMensalidadesItem.gxTpr_Junho = true;
            pr_default.readNext(6);
         }
         pr_default.close(6);
         if ( AV21GXLvl78 == 0 )
         {
            AV9SDTTodasMensalidadesItem.gxTpr_Junho = false;
         }
      }

      protected void S1788( )
      {
         /* '07' Routine */
         AV22GXLvl89 = 0;
         /* Using cursor P000J9 */
         pr_default.execute(7, new Object[] {AV10UserId, AV11Ano});
         while ( (pr_default.getStatus(7) != 101) )
         {
            A43UserId = P000J9_A43UserId[0];
            A33MensalidadeData = P000J9_A33MensalidadeData[0];
            A32MensalidadeId = P000J9_A32MensalidadeId[0];
            AV22GXLvl89 = 1;
            AV9SDTTodasMensalidadesItem.gxTpr_Julho = true;
            pr_default.readNext(7);
         }
         pr_default.close(7);
         if ( AV22GXLvl89 == 0 )
         {
            AV9SDTTodasMensalidadesItem.gxTpr_Julho = false;
         }
      }

      protected void S1899( )
      {
         /* '08' Routine */
         AV23GXLvl100 = 0;
         /* Using cursor P000J10 */
         pr_default.execute(8, new Object[] {AV10UserId, AV11Ano});
         while ( (pr_default.getStatus(8) != 101) )
         {
            A43UserId = P000J10_A43UserId[0];
            A33MensalidadeData = P000J10_A33MensalidadeData[0];
            A32MensalidadeId = P000J10_A32MensalidadeId[0];
            AV23GXLvl100 = 1;
            AV9SDTTodasMensalidadesItem.gxTpr_Agosto = true;
            pr_default.readNext(8);
         }
         pr_default.close(8);
         if ( AV23GXLvl100 == 0 )
         {
            AV9SDTTodasMensalidadesItem.gxTpr_Agosto = false;
         }
      }

      protected void S19110( )
      {
         /* '09' Routine */
         AV24GXLvl111 = 0;
         /* Using cursor P000J11 */
         pr_default.execute(9, new Object[] {AV10UserId, AV11Ano});
         while ( (pr_default.getStatus(9) != 101) )
         {
            A43UserId = P000J11_A43UserId[0];
            A33MensalidadeData = P000J11_A33MensalidadeData[0];
            A32MensalidadeId = P000J11_A32MensalidadeId[0];
            AV24GXLvl111 = 1;
            AV9SDTTodasMensalidadesItem.gxTpr_Setembro = true;
            pr_default.readNext(9);
         }
         pr_default.close(9);
         if ( AV24GXLvl111 == 0 )
         {
            AV9SDTTodasMensalidadesItem.gxTpr_Setembro = false;
         }
      }

      protected void S20121( )
      {
         /* '10' Routine */
         AV25GXLvl122 = 0;
         /* Using cursor P000J12 */
         pr_default.execute(10, new Object[] {AV10UserId, AV11Ano});
         while ( (pr_default.getStatus(10) != 101) )
         {
            A43UserId = P000J12_A43UserId[0];
            A33MensalidadeData = P000J12_A33MensalidadeData[0];
            A32MensalidadeId = P000J12_A32MensalidadeId[0];
            AV25GXLvl122 = 1;
            AV9SDTTodasMensalidadesItem.gxTpr_Outubro = true;
            pr_default.readNext(10);
         }
         pr_default.close(10);
         if ( AV25GXLvl122 == 0 )
         {
            AV9SDTTodasMensalidadesItem.gxTpr_Outubro = false;
         }
      }

      protected void S21132( )
      {
         /* '11' Routine */
         AV26GXLvl133 = 0;
         /* Using cursor P000J13 */
         pr_default.execute(11, new Object[] {AV10UserId, AV11Ano});
         while ( (pr_default.getStatus(11) != 101) )
         {
            A43UserId = P000J13_A43UserId[0];
            A33MensalidadeData = P000J13_A33MensalidadeData[0];
            A32MensalidadeId = P000J13_A32MensalidadeId[0];
            AV26GXLvl133 = 1;
            AV9SDTTodasMensalidadesItem.gxTpr_Novembro = true;
            pr_default.readNext(11);
         }
         pr_default.close(11);
         if ( AV26GXLvl133 == 0 )
         {
            AV9SDTTodasMensalidadesItem.gxTpr_Novembro = false;
         }
      }

      protected void S22143( )
      {
         /* '12' Routine */
         AV27GXLvl144 = 0;
         /* Using cursor P000J14 */
         pr_default.execute(12, new Object[] {AV10UserId, AV11Ano});
         while ( (pr_default.getStatus(12) != 101) )
         {
            A43UserId = P000J14_A43UserId[0];
            A33MensalidadeData = P000J14_A33MensalidadeData[0];
            A32MensalidadeId = P000J14_A32MensalidadeId[0];
            AV27GXLvl144 = 1;
            AV9SDTTodasMensalidadesItem.gxTpr_Dezembro = true;
            pr_default.readNext(12);
         }
         pr_default.close(12);
         if ( AV27GXLvl144 == 0 )
         {
            AV9SDTTodasMensalidadesItem.gxTpr_Dezembro = false;
         }
      }

      public void cleanup( )
      {
         CloseOpenCursors();
         if ( IsMain )
         {
            context.CloseConnections() ;
         }
         exitApplication();
      }

      protected void CloseOpenCursors( )
      {
      }

      public override void initialize( )
      {
         scmdbuf = "";
         P000J2_A2UserNome = new String[] {""} ;
         P000J2_A43UserId = new long[1] ;
         A2UserNome = "";
         AV9SDTTodasMensalidadesItem = new SdtSDTTodasMensalidades_SDTTodasMensalidadesItem(context);
         Gx_date = DateTime.MinValue;
         P000J3_A43UserId = new long[1] ;
         P000J3_A33MensalidadeData = new DateTime[] {DateTime.MinValue} ;
         P000J3_A32MensalidadeId = new int[1] ;
         A33MensalidadeData = DateTime.MinValue;
         P000J4_A43UserId = new long[1] ;
         P000J4_A33MensalidadeData = new DateTime[] {DateTime.MinValue} ;
         P000J4_A32MensalidadeId = new int[1] ;
         P000J5_A43UserId = new long[1] ;
         P000J5_A33MensalidadeData = new DateTime[] {DateTime.MinValue} ;
         P000J5_A32MensalidadeId = new int[1] ;
         P000J6_A43UserId = new long[1] ;
         P000J6_A33MensalidadeData = new DateTime[] {DateTime.MinValue} ;
         P000J6_A32MensalidadeId = new int[1] ;
         P000J7_A43UserId = new long[1] ;
         P000J7_A33MensalidadeData = new DateTime[] {DateTime.MinValue} ;
         P000J7_A32MensalidadeId = new int[1] ;
         P000J8_A43UserId = new long[1] ;
         P000J8_A33MensalidadeData = new DateTime[] {DateTime.MinValue} ;
         P000J8_A32MensalidadeId = new int[1] ;
         P000J9_A43UserId = new long[1] ;
         P000J9_A33MensalidadeData = new DateTime[] {DateTime.MinValue} ;
         P000J9_A32MensalidadeId = new int[1] ;
         P000J10_A43UserId = new long[1] ;
         P000J10_A33MensalidadeData = new DateTime[] {DateTime.MinValue} ;
         P000J10_A32MensalidadeId = new int[1] ;
         P000J11_A43UserId = new long[1] ;
         P000J11_A33MensalidadeData = new DateTime[] {DateTime.MinValue} ;
         P000J11_A32MensalidadeId = new int[1] ;
         P000J12_A43UserId = new long[1] ;
         P000J12_A33MensalidadeData = new DateTime[] {DateTime.MinValue} ;
         P000J12_A32MensalidadeId = new int[1] ;
         P000J13_A43UserId = new long[1] ;
         P000J13_A33MensalidadeData = new DateTime[] {DateTime.MinValue} ;
         P000J13_A32MensalidadeId = new int[1] ;
         P000J14_A43UserId = new long[1] ;
         P000J14_A33MensalidadeData = new DateTime[] {DateTime.MinValue} ;
         P000J14_A32MensalidadeId = new int[1] ;
         pr_default = new DataStoreProvider(context, new GeneXus.Programs.prctodasmensalidades__default(),
            new Object[][] {
                new Object[] {
               P000J2_A2UserNome, P000J2_A43UserId
               }
               , new Object[] {
               P000J3_A43UserId, P000J3_A33MensalidadeData, P000J3_A32MensalidadeId
               }
               , new Object[] {
               P000J4_A43UserId, P000J4_A33MensalidadeData, P000J4_A32MensalidadeId
               }
               , new Object[] {
               P000J5_A43UserId, P000J5_A33MensalidadeData, P000J5_A32MensalidadeId
               }
               , new Object[] {
               P000J6_A43UserId, P000J6_A33MensalidadeData, P000J6_A32MensalidadeId
               }
               , new Object[] {
               P000J7_A43UserId, P000J7_A33MensalidadeData, P000J7_A32MensalidadeId
               }
               , new Object[] {
               P000J8_A43UserId, P000J8_A33MensalidadeData, P000J8_A32MensalidadeId
               }
               , new Object[] {
               P000J9_A43UserId, P000J9_A33MensalidadeData, P000J9_A32MensalidadeId
               }
               , new Object[] {
               P000J10_A43UserId, P000J10_A33MensalidadeData, P000J10_A32MensalidadeId
               }
               , new Object[] {
               P000J11_A43UserId, P000J11_A33MensalidadeData, P000J11_A32MensalidadeId
               }
               , new Object[] {
               P000J12_A43UserId, P000J12_A33MensalidadeData, P000J12_A32MensalidadeId
               }
               , new Object[] {
               P000J13_A43UserId, P000J13_A33MensalidadeData, P000J13_A32MensalidadeId
               }
               , new Object[] {
               P000J14_A43UserId, P000J14_A33MensalidadeData, P000J14_A32MensalidadeId
               }
            }
         );
         Gx_date = DateTimeUtil.Today( context);
         /* GeneXus formulas. */
         Gx_date = DateTimeUtil.Today( context);
         context.Gx_err = 0;
      }

      private short AV11Ano ;
      private short AV16GXLvl23 ;
      private short AV17GXLvl34 ;
      private short AV18GXLvl45 ;
      private short AV19GXLvl56 ;
      private short AV20GXLvl67 ;
      private short AV21GXLvl78 ;
      private short AV22GXLvl89 ;
      private short AV23GXLvl100 ;
      private short AV24GXLvl111 ;
      private short AV25GXLvl122 ;
      private short AV26GXLvl133 ;
      private short AV27GXLvl144 ;
      private int A32MensalidadeId ;
      private long A43UserId ;
      private long AV10UserId ;
      private String scmdbuf ;
      private DateTime Gx_date ;
      private DateTime A33MensalidadeData ;
      private bool returnInSub ;
      private String A2UserNome ;
      private IGxDataStore dsDefault ;
      private IGxCollection aP0_SDTTodasMensalidades ;
      private IDataStoreProvider pr_default ;
      private String[] P000J2_A2UserNome ;
      private long[] P000J2_A43UserId ;
      private long[] P000J3_A43UserId ;
      private DateTime[] P000J3_A33MensalidadeData ;
      private int[] P000J3_A32MensalidadeId ;
      private long[] P000J4_A43UserId ;
      private DateTime[] P000J4_A33MensalidadeData ;
      private int[] P000J4_A32MensalidadeId ;
      private long[] P000J5_A43UserId ;
      private DateTime[] P000J5_A33MensalidadeData ;
      private int[] P000J5_A32MensalidadeId ;
      private long[] P000J6_A43UserId ;
      private DateTime[] P000J6_A33MensalidadeData ;
      private int[] P000J6_A32MensalidadeId ;
      private long[] P000J7_A43UserId ;
      private DateTime[] P000J7_A33MensalidadeData ;
      private int[] P000J7_A32MensalidadeId ;
      private long[] P000J8_A43UserId ;
      private DateTime[] P000J8_A33MensalidadeData ;
      private int[] P000J8_A32MensalidadeId ;
      private long[] P000J9_A43UserId ;
      private DateTime[] P000J9_A33MensalidadeData ;
      private int[] P000J9_A32MensalidadeId ;
      private long[] P000J10_A43UserId ;
      private DateTime[] P000J10_A33MensalidadeData ;
      private int[] P000J10_A32MensalidadeId ;
      private long[] P000J11_A43UserId ;
      private DateTime[] P000J11_A33MensalidadeData ;
      private int[] P000J11_A32MensalidadeId ;
      private long[] P000J12_A43UserId ;
      private DateTime[] P000J12_A33MensalidadeData ;
      private int[] P000J12_A32MensalidadeId ;
      private long[] P000J13_A43UserId ;
      private DateTime[] P000J13_A33MensalidadeData ;
      private int[] P000J13_A32MensalidadeId ;
      private long[] P000J14_A43UserId ;
      private DateTime[] P000J14_A33MensalidadeData ;
      private int[] P000J14_A32MensalidadeId ;
      [ObjectCollection(ItemType=typeof( SdtSDTTodasMensalidades_SDTTodasMensalidadesItem ))]
      private IGxCollection AV8SDTTodasMensalidades ;
      private SdtSDTTodasMensalidades_SDTTodasMensalidadesItem AV9SDTTodasMensalidadesItem ;
   }

   public class prctodasmensalidades__default : DataStoreHelperBase, IDataStoreHelper
   {
      public ICursor[] getCursors( )
      {
         cursorDefinitions();
         return new Cursor[] {
          new ForEachCursor(def[0])
         ,new ForEachCursor(def[1])
         ,new ForEachCursor(def[2])
         ,new ForEachCursor(def[3])
         ,new ForEachCursor(def[4])
         ,new ForEachCursor(def[5])
         ,new ForEachCursor(def[6])
         ,new ForEachCursor(def[7])
         ,new ForEachCursor(def[8])
         ,new ForEachCursor(def[9])
         ,new ForEachCursor(def[10])
         ,new ForEachCursor(def[11])
         ,new ForEachCursor(def[12])
       };
    }

    private static CursorDef[] def;
    private void cursorDefinitions( )
    {
       if ( def == null )
       {
          Object[] prmP000J2 ;
          prmP000J2 = new Object[] {
          } ;
          Object[] prmP000J3 ;
          prmP000J3 = new Object[] {
          new Object[] {"@AV10UserId",SqlDbType.Decimal,15,0} ,
          new Object[] {"@AV11Ano",SqlDbType.SmallInt,4,0}
          } ;
          Object[] prmP000J4 ;
          prmP000J4 = new Object[] {
          new Object[] {"@AV10UserId",SqlDbType.Decimal,15,0} ,
          new Object[] {"@AV11Ano",SqlDbType.SmallInt,4,0}
          } ;
          Object[] prmP000J5 ;
          prmP000J5 = new Object[] {
          new Object[] {"@AV10UserId",SqlDbType.Decimal,15,0} ,
          new Object[] {"@AV11Ano",SqlDbType.SmallInt,4,0}
          } ;
          Object[] prmP000J6 ;
          prmP000J6 = new Object[] {
          new Object[] {"@AV10UserId",SqlDbType.Decimal,15,0} ,
          new Object[] {"@AV11Ano",SqlDbType.SmallInt,4,0}
          } ;
          Object[] prmP000J7 ;
          prmP000J7 = new Object[] {
          new Object[] {"@AV10UserId",SqlDbType.Decimal,15,0} ,
          new Object[] {"@AV11Ano",SqlDbType.SmallInt,4,0}
          } ;
          Object[] prmP000J8 ;
          prmP000J8 = new Object[] {
          new Object[] {"@AV10UserId",SqlDbType.Decimal,15,0} ,
          new Object[] {"@AV11Ano",SqlDbType.SmallInt,4,0}
          } ;
          Object[] prmP000J9 ;
          prmP000J9 = new Object[] {
          new Object[] {"@AV10UserId",SqlDbType.Decimal,15,0} ,
          new Object[] {"@AV11Ano",SqlDbType.SmallInt,4,0}
          } ;
          Object[] prmP000J10 ;
          prmP000J10 = new Object[] {
          new Object[] {"@AV10UserId",SqlDbType.Decimal,15,0} ,
          new Object[] {"@AV11Ano",SqlDbType.SmallInt,4,0}
          } ;
          Object[] prmP000J11 ;
          prmP000J11 = new Object[] {
          new Object[] {"@AV10UserId",SqlDbType.Decimal,15,0} ,
          new Object[] {"@AV11Ano",SqlDbType.SmallInt,4,0}
          } ;
          Object[] prmP000J12 ;
          prmP000J12 = new Object[] {
          new Object[] {"@AV10UserId",SqlDbType.Decimal,15,0} ,
          new Object[] {"@AV11Ano",SqlDbType.SmallInt,4,0}
          } ;
          Object[] prmP000J13 ;
          prmP000J13 = new Object[] {
          new Object[] {"@AV10UserId",SqlDbType.Decimal,15,0} ,
          new Object[] {"@AV11Ano",SqlDbType.SmallInt,4,0}
          } ;
          Object[] prmP000J14 ;
          prmP000J14 = new Object[] {
          new Object[] {"@AV10UserId",SqlDbType.Decimal,15,0} ,
          new Object[] {"@AV11Ano",SqlDbType.SmallInt,4,0}
          } ;
          def= new CursorDef[] {
              new CursorDef("P000J2", "SELECT [UserNome], [UserId] FROM [TBLUser] WITH (NOLOCK) ORDER BY [UserId] ",false, GxErrorMask.GX_NOMASK | GxErrorMask.GX_MASKLOOPLOCK, false, this,prmP000J2,100,0,true,false )
             ,new CursorDef("P000J3", "SELECT [UserId], [MensalidadeData], [MensalidadeId] FROM [TBLMensalidade] WITH (NOLOCK) WHERE ([UserId] = @AV10UserId) AND (YEAR([MensalidadeData]) = @AV11Ano) AND (MONTH([MensalidadeData]) = 1) ORDER BY [UserId] ",false, GxErrorMask.GX_NOMASK | GxErrorMask.GX_MASKLOOPLOCK, false, this,prmP000J3,100,0,false,false )
             ,new CursorDef("P000J4", "SELECT [UserId], [MensalidadeData], [MensalidadeId] FROM [TBLMensalidade] WITH (NOLOCK) WHERE ([UserId] = @AV10UserId) AND (YEAR([MensalidadeData]) = @AV11Ano) AND (MONTH([MensalidadeData]) = 2) ORDER BY [UserId] ",false, GxErrorMask.GX_NOMASK | GxErrorMask.GX_MASKLOOPLOCK, false, this,prmP000J4,100,0,false,false )
             ,new CursorDef("P000J5", "SELECT [UserId], [MensalidadeData], [MensalidadeId] FROM [TBLMensalidade] WITH (NOLOCK) WHERE ([UserId] = @AV10UserId) AND (YEAR([MensalidadeData]) = @AV11Ano) AND (MONTH([MensalidadeData]) = 3) ORDER BY [UserId] ",false, GxErrorMask.GX_NOMASK | GxErrorMask.GX_MASKLOOPLOCK, false, this,prmP000J5,100,0,false,false )
             ,new CursorDef("P000J6", "SELECT [UserId], [MensalidadeData], [MensalidadeId] FROM [TBLMensalidade] WITH (NOLOCK) WHERE ([UserId] = @AV10UserId) AND (YEAR([MensalidadeData]) = @AV11Ano) AND (MONTH([MensalidadeData]) = 4) ORDER BY [UserId] ",false, GxErrorMask.GX_NOMASK | GxErrorMask.GX_MASKLOOPLOCK, false, this,prmP000J6,100,0,false,false )
             ,new CursorDef("P000J7", "SELECT [UserId], [MensalidadeData], [MensalidadeId] FROM [TBLMensalidade] WITH (NOLOCK) WHERE ([UserId] = @AV10UserId) AND (YEAR([MensalidadeData]) = @AV11Ano) AND (MONTH([MensalidadeData]) = 5) ORDER BY [UserId] ",false, GxErrorMask.GX_NOMASK | GxErrorMask.GX_MASKLOOPLOCK, false, this,prmP000J7,100,0,false,false )
             ,new CursorDef("P000J8", "SELECT [UserId], [MensalidadeData], [MensalidadeId] FROM [TBLMensalidade] WITH (NOLOCK) WHERE ([UserId] = @AV10UserId) AND (YEAR([MensalidadeData]) = @AV11Ano) AND (MONTH([MensalidadeData]) = 6) ORDER BY [UserId] ",false, GxErrorMask.GX_NOMASK | GxErrorMask.GX_MASKLOOPLOCK, false, this,prmP000J8,100,0,false,false )
             ,new CursorDef("P000J9", "SELECT [UserId], [MensalidadeData], [MensalidadeId] FROM [TBLMensalidade] WITH (NOLOCK) WHERE ([UserId] = @AV10UserId) AND (YEAR([MensalidadeData]) = @AV11Ano) AND (MONTH([MensalidadeData]) = 7) ORDER BY [UserId] ",false, GxErrorMask.GX_NOMASK | GxErrorMask.GX_MASKLOOPLOCK, false, this,prmP000J9,100,0,false,false )
             ,new CursorDef("P000J10", "SELECT [UserId], [MensalidadeData], [MensalidadeId] FROM [TBLMensalidade] WITH (NOLOCK) WHERE ([UserId] = @AV10UserId) AND (YEAR([MensalidadeData]) = @AV11Ano) AND (MONTH([MensalidadeData]) = 8) ORDER BY [UserId] ",false, GxErrorMask.GX_NOMASK | GxErrorMask.GX_MASKLOOPLOCK, false, this,prmP000J10,100,0,false,false )
             ,new CursorDef("P000J11", "SELECT [UserId], [MensalidadeData], [MensalidadeId] FROM [TBLMensalidade] WITH (NOLOCK) WHERE ([UserId] = @AV10UserId) AND (YEAR([MensalidadeData]) = @AV11Ano) AND (MONTH([MensalidadeData]) = 9) ORDER BY [UserId] ",false, GxErrorMask.GX_NOMASK | GxErrorMask.GX_MASKLOOPLOCK, false, this,prmP000J11,100,0,false,false )
             ,new CursorDef("P000J12", "SELECT [UserId], [MensalidadeData], [MensalidadeId] FROM [TBLMensalidade] WITH (NOLOCK) WHERE ([UserId] = @AV10UserId) AND (YEAR([MensalidadeData]) = @AV11Ano) AND (MONTH([MensalidadeData]) = 10) ORDER BY [UserId] ",false, GxErrorMask.GX_NOMASK | GxErrorMask.GX_MASKLOOPLOCK, false, this,prmP000J12,100,0,false,false )
             ,new CursorDef("P000J13", "SELECT [UserId], [MensalidadeData], [MensalidadeId] FROM [TBLMensalidade] WITH (NOLOCK) WHERE ([UserId] = @AV10UserId) AND (YEAR([MensalidadeData]) = @AV11Ano) AND (MONTH([MensalidadeData]) = 11) ORDER BY [UserId] ",false, GxErrorMask.GX_NOMASK | GxErrorMask.GX_MASKLOOPLOCK, false, this,prmP000J13,100,0,false,false )
             ,new CursorDef("P000J14", "SELECT [UserId], [MensalidadeData], [MensalidadeId] FROM [TBLMensalidade] WITH (NOLOCK) WHERE ([UserId] = @AV10UserId) AND (YEAR([MensalidadeData]) = @AV11Ano) AND (MONTH([MensalidadeData]) = 12) ORDER BY [UserId] ",false, GxErrorMask.GX_NOMASK | GxErrorMask.GX_MASKLOOPLOCK, false, this,prmP000J14,100,0,false,false )
          };
       }
    }

    public void getResults( int cursor ,
                            IFieldGetter rslt ,
                            Object[] buf )
    {
       switch ( cursor )
       {
             case 0 :
                ((String[]) buf[0])[0] = rslt.getVarchar(1) ;
                ((long[]) buf[1])[0] = rslt.getLong(2) ;
                break;
             case 1 :
                ((long[]) buf[0])[0] = rslt.getLong(1) ;
                ((DateTime[]) buf[1])[0] = rslt.getGXDate(2) ;
                ((int[]) buf[2])[0] = rslt.getInt(3) ;
                break;
             case 2 :
                ((long[]) buf[0])[0] = rslt.getLong(1) ;
                ((DateTime[]) buf[1])[0] = rslt.getGXDate(2) ;
                ((int[]) buf[2])[0] = rslt.getInt(3) ;
                break;
             case 3 :
                ((long[]) buf[0])[0] = rslt.getLong(1) ;
                ((DateTime[]) buf[1])[0] = rslt.getGXDate(2) ;
                ((int[]) buf[2])[0] = rslt.getInt(3) ;
                break;
             case 4 :
                ((long[]) buf[0])[0] = rslt.getLong(1) ;
                ((DateTime[]) buf[1])[0] = rslt.getGXDate(2) ;
                ((int[]) buf[2])[0] = rslt.getInt(3) ;
                break;
             case 5 :
                ((long[]) buf[0])[0] = rslt.getLong(1) ;
                ((DateTime[]) buf[1])[0] = rslt.getGXDate(2) ;
                ((int[]) buf[2])[0] = rslt.getInt(3) ;
                break;
             case 6 :
                ((long[]) buf[0])[0] = rslt.getLong(1) ;
                ((DateTime[]) buf[1])[0] = rslt.getGXDate(2) ;
                ((int[]) buf[2])[0] = rslt.getInt(3) ;
                break;
             case 7 :
                ((long[]) buf[0])[0] = rslt.getLong(1) ;
                ((DateTime[]) buf[1])[0] = rslt.getGXDate(2) ;
                ((int[]) buf[2])[0] = rslt.getInt(3) ;
                break;
             case 8 :
                ((long[]) buf[0])[0] = rslt.getLong(1) ;
                ((DateTime[]) buf[1])[0] = rslt.getGXDate(2) ;
                ((int[]) buf[2])[0] = rslt.getInt(3) ;
                break;
             case 9 :
                ((long[]) buf[0])[0] = rslt.getLong(1) ;
                ((DateTime[]) buf[1])[0] = rslt.getGXDate(2) ;
                ((int[]) buf[2])[0] = rslt.getInt(3) ;
                break;
             case 10 :
                ((long[]) buf[0])[0] = rslt.getLong(1) ;
                ((DateTime[]) buf[1])[0] = rslt.getGXDate(2) ;
                ((int[]) buf[2])[0] = rslt.getInt(3) ;
                break;
             case 11 :
                ((long[]) buf[0])[0] = rslt.getLong(1) ;
                ((DateTime[]) buf[1])[0] = rslt.getGXDate(2) ;
                ((int[]) buf[2])[0] = rslt.getInt(3) ;
                break;
             case 12 :
                ((long[]) buf[0])[0] = rslt.getLong(1) ;
                ((DateTime[]) buf[1])[0] = rslt.getGXDate(2) ;
                ((int[]) buf[2])[0] = rslt.getInt(3) ;
                break;
       }
    }

    public void setParameters( int cursor ,
                               IFieldSetter stmt ,
                               Object[] parms )
    {
       switch ( cursor )
       {
             case 1 :
                stmt.SetParameter(1, (long)parms[0]);
                stmt.SetParameter(2, (short)parms[1]);
                break;
             case 2 :
                stmt.SetParameter(1, (long)parms[0]);
                stmt.SetParameter(2, (short)parms[1]);
                break;
             case 3 :
                stmt.SetParameter(1, (long)parms[0]);
                stmt.SetParameter(2, (short)parms[1]);
                break;
             case 4 :
                stmt.SetParameter(1, (long)parms[0]);
                stmt.SetParameter(2, (short)parms[1]);
                break;
             case 5 :
                stmt.SetParameter(1, (long)parms[0]);
                stmt.SetParameter(2, (short)parms[1]);
                break;
             case 6 :
                stmt.SetParameter(1, (long)parms[0]);
                stmt.SetParameter(2, (short)parms[1]);
                break;
             case 7 :
                stmt.SetParameter(1, (long)parms[0]);
                stmt.SetParameter(2, (short)parms[1]);
                break;
             case 8 :
                stmt.SetParameter(1, (long)parms[0]);
                stmt.SetParameter(2, (short)parms[1]);
                break;
             case 9 :
                stmt.SetParameter(1, (long)parms[0]);
                stmt.SetParameter(2, (short)parms[1]);
                break;
             case 10 :
                stmt.SetParameter(1, (long)parms[0]);
                stmt.SetParameter(2, (short)parms[1]);
                break;
             case 11 :
                stmt.SetParameter(1, (long)parms[0]);
                stmt.SetParameter(2, (short)parms[1]);
                break;
             case 12 :
                stmt.SetParameter(1, (long)parms[0]);
                stmt.SetParameter(2, (short)parms[1]);
                break;
       }
    }

 }

}
